What is detect-newline?
The detect-newline npm package is designed to help developers identify the type of newline character used in a string. This can be particularly useful when working with text data that originates from different operating systems, as Unix, Windows, and old Mac systems use different characters for line breaks (`\n` for Unix/Linux, `\r\n` for Windows, and `\r` for old Mac). The package provides a simple interface to detect the newline character and can also gracefully handle mixed or absent newlines.
What are detect-newline's main functionalities?
Detect the most common newline character in a string
This feature allows you to detect the most common newline character in a given string. If the string contains mixed newline characters, the most common one is returned. If there's a tie, `\n` is returned by default.
"const detectNewline = require('detect-newline');\nconst mixedNewlines = 'Hello\r\nWorld\nHello World';\nconsole.log(detectNewline(mixedNewlines)); // '\r\n'"
Detect the newline character used at the end of a string
This functionality is useful for determining the newline character at the end of a string, which can be critical for appending lines to files or data streams while maintaining consistency with the existing newline format.
"const detectNewline = require('detect-newline');\nconst stringWithNewlineAtEnd = 'Hello World\n';\nconsole.log(detectNewline(stringWithNewlineAtEnd)); // '\n'"
Other packages similar to detect-newline
eol
The eol package offers more comprehensive handling of newline characters, including detection, conversion, and normalization across different operating systems. While detect-newline focuses on detection, eol provides a broader set of tools for working with end-of-line characters.
detect-newline
Detect the dominant newline character of a string
Install
$ npm install detect-newline
Usage
const detectNewline = require('detect-newline');
detectNewline('foo\nbar\nbaz\r\n');
API
detectNewline(string)
Returns the detected newline or undefined
when no newline character is found.
detectNewline.graceful(unknown)
Returns the detected newline or \n
when no newline character is found or the input is not a string.
Related
License
MIT © Sindre Sorhus